<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
				
	函数属性和方法。。
	apply和call可以冒充另外一个函数，
	他们区别是传递的参数不同apply(this,[]) call(this,*)
	经常用于扩展函数赖以运行的作用域
	</body>
		<script>
	function box(num1,num2){
		return num1+num2;
	}
	function sum(num1,num2){
		return box.apply(this,[num1,num2]);//this表示window作用于，[]传递的参数
	}
	function sum2(num1,num2){
		return box.apply(this,arguments);//arguments全部参数
		
	}
	alert(box(10,10));//20
	alert(sum(10,11));//21
	alert(sum2(10,12));//22
	
	function box1(num1,num2){
		return num1+num2;
			
	}
	
	function sum3(num1,num2){
		return box1.call(this,num1,num2);//这里
	}
	alert(sum3(11,22));//33
	
	//////////////////////////////////////////////////
	
	var color ="全局的";
	var myColor ={
		color:"局部的"
		
	}
	function sayColor(){
		alert(this.color);
	}
	sayColor();//直接是全局的
	sayColor.call(window);//window全局
	sayColor.call(this);//this就是window
	sayColor.call(myColor);//冒充局部的
		</script>
</html>
